home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-2.iso / extra / helpful.zip / serial < prev    next >
Text File  |  1995-08-21  |  60KB  |  1,759 lines

  1.   The Linux Serial HOWTO
  2.   by Greg Hankins, greg.hankins@cc.gatech.edu
  3.   v1.8a, 5 June 1995
  4.  
  5.   This document describes how to set up serial communications devices
  6.   on a Linux box.
  7.  
  8.   1.  Introduction
  9.  
  10.   This is the Linux Serial HOWTO.  All about how to set up modems and
  11.   terminals under Linux, some serial tips, and troubleshooting.
  12.  
  13.  
  14.   1.1.  Copyright
  15.  
  16.   The Linux Serial HOWTO is copyright (C) 1993 - 1995 by Greg Hankins.
  17.   Linux HOWTO documents may be reproduced and distributed in whole or in
  18.   part, in any medium physical or electronic, as long as this copyright
  19.   notice is retained on all copies. Commercial redistribution is allowed
  20.   and encouraged; however, the author would like to be notified of any
  21.   such distributions.
  22.  
  23.   All translations, derivative works, or aggregate works incorporating
  24.   any Linux HOWTO documents must be covered under this copyright notice.
  25.   That is, you may not produce a derivative work from a HOWTO and impose
  26.   additional restrictions on its distribution. Exceptions to these rules
  27.   may be granted under certain conditions; please contact the Linux
  28.   HOWTO coordinator at the address given below.
  29.  
  30.   In short, we wish to promote dissemination of this information through
  31.   as many channels as possible. However, we do wish to retain copyright
  32.   on the HOWTO documents, and would like to be notified of any plans to
  33.   redistribute the HOWTOs.
  34.  
  35.   If you have questions, please contact Greg Hankins, the Linux HOWTO
  36.   coordinator, at
  37.   gregh@sunsite.unc.edu via email, or at +1 404 853 9989.
  38.  
  39.  
  40.  
  41.   1.2.  Other sources of information
  42.  
  43.  
  44.  
  45.   o  man pages for: agetty(8), getty(1m), gettydefs(5), init(1),
  46.      login(1), mgetty(8), setserial(8)
  47.  
  48.  
  49.   o  Your modem manual
  50.  
  51.  
  52.   o  UUCP HOWTO: for information on setting up UUCP
  53.  
  54.   o  Printing HOWTO: for setting up a serial printer
  55.  
  56.   o  NET-2 HOWTO: all about networking, including SLIP, CSLIP, PLIP and
  57.      PPP
  58.  
  59.  
  60.   o  BUPS HOWTO: setting up UPS boxen connected to your serial port
  61.  
  62.   o  Term HOWTO: everything you wanted to know about the term program
  63.  
  64.   o  USENET newsgroups:
  65.  
  66.  
  67.   comp.os.linux.advocacy            Benefits of Linux compared to other operating systems.
  68.   comp.os.linux.announce            Announcements important to the Linux community.
  69.   comp.os.linux.answers             FAQs, How-To's, READMEs, etc. about Linux.
  70.   comp.os.linux.development.apps    Writing Linux applications, porting to Linux.
  71.   comp.os.linux.development.system  Linux kernels, device drivers, modules.
  72.   comp.os.linux.hardware            Hardware compatibility with the Linux operating system.
  73.   comp.os.linux.misc                Linux-specific topics not covered by other groups.
  74.   comp.os.linux.networking          Networking and communications under Linux.
  75.   comp.os.linux.setup               Linux installation and system administration.
  76.   comp.os.linux.x                   Linux X Window System servers, clients, libs and fonts.
  77.  
  78.  
  79.  
  80.  
  81.  
  82.   o  the Linux serial mailing list.  To join, send email to
  83.      majordomo@vger.rutgers.edu, with
  84.  
  85.      ``subscribe linux-serial'' in the message body.  If you send
  86.      ``help'' in the message body, you get a help message.
  87.  
  88.  
  89.  
  90.   1.3.  New versions of this document
  91.  
  92.   New versions of the Serial-HOWTO will be placed on
  93.  
  94.   sunsite.unc.edu <ftp://sunsite.unc.edu:/pub/Linux/docs/HOWTO/Serial-
  95.   HOWTO> and mirror sites.  There are other formats, such as a
  96.   PostScript and dvi version in the other-formats directory.  The Serial
  97.   HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Serial-HOWTO.html> is also
  98.   available for WWW clients such as mosaic.  It will also be posted
  99.   regularly to comp.os.linux.answers.
  100.  
  101.  
  102.   If you don't have FTP access, you can get Linux help files via email.
  103.   Bill Riemers runs a mail handler on his account.  Send mail to
  104.   bcr@physics.purdue.edu with a subject of ``help'' for more infomation,
  105.   and to get an index file.
  106.  
  107.  
  108.   1.4.  Feedback
  109.  
  110.   Please send me any questions, comments, suggestions, or additional
  111.   material.  I'm always eager to hear about what you think about the
  112.   HOWTO.  I'm also always on the lookout for improvements!  Tell me
  113.   exactly what you don't understand, or what could be clearer.  You can
  114.   reach me at greg.hankins@cc.gatech.edu via email.  I can also be
  115.   reached at:
  116.  
  117.   Greg Hankins
  118.  
  119.   College of Computing
  120.  
  121.   801 Atlantic Drive
  122.  
  123.   Atlanta, GA 30332-0280
  124.  
  125.   via snail mail, and at my home page
  126.   <http://www.cc.gatech.edu/staff/h/Greg.Hankins/> via the WWW.
  127.  
  128.   Please include the version number of the Serial HOWTO when writing,
  129.   this is version 1.8a.
  130.  
  131.  
  132.  
  133.   1.5.  Disclaimer
  134.  
  135.   Your milage may vary.  The answers given may not work for all systems
  136.   and all setup combinations.
  137.  
  138.  
  139.  
  140.   2.  Supported serial hardware
  141.  
  142.   Linux is known to work with the following serial hardware.
  143.  
  144.  
  145.   o  standard PC serial boards (COM1 - COM4), to which external serial
  146.      devices (modems, serial mice, etc...) can be connected
  147.  
  148.   o  standard PC internal modems (COM1 - COM4)
  149.  
  150.   o  Quickpath Systems Port-Folio 550e (allows IRQs of 3, 4, 5, 9, 10,
  151.      11, 12, and 15)
  152.  
  153.  
  154.   2.1.  Multiport serial boards (with 16450/16550A UARTs)
  155.  
  156.  
  157.   o  AST FourPort and clones (4 port)
  158.  
  159.   o  Accent Async-4 (4 port)
  160.  
  161.   o  Arnet Multiport-8 (8 port)
  162.  
  163.   o  Bell Technologies HUB6 (6 port)
  164.  
  165.   o  Boca BB-1004 (4 port), BB-1008 (8 port), BB-2016 (16 port)
  166.  
  167.   o  Boca IOAT66 (6 port)
  168.  
  169.   o  Boca 2by4 (4S/2P)
  170.  
  171.   o  Computone ValuePort V4-ISA (AST FourPort compatible)
  172.  
  173.   o  PC-COMM (4 port)
  174.  
  175.   o  STB-4COM (4 port)
  176.  
  177.   o  Twincom ACI/550
  178.  
  179.   o  Usenet Serial Board II (4 port)
  180.  
  181.  
  182.   In general, Linux will support any serial board which uses a 8250,
  183.   16450, 16550, 16550A (or compatible) UART, or an internal modem which
  184.   emulates one of the above UARTs.
  185.  
  186.  
  187.   Special note on the BB-1004 and BB-1008, they do not support DCD and
  188.   RI lines, and thus are not usable for dialin modems.  They will work
  189.   fine for all other purposes.
  190.  
  191.  
  192.   2.2.  Intelligent multiport serial boards
  193.  
  194.  
  195.  
  196.   o  Comtrol RocketPort (36Mhz ASIC - 4, 8, 16 or 32 port) (contact
  197.      info@comtrol.com or Comtrol's Home Page <http://www.comtrol.com>.
  198.      Driver location: tsx-11.mit.edu/pub/linux/packages/comtrol)
  199.   o  Computone IntelliPort II (16Mhz 80186 - 4, 8, or 16 port) Computone
  200.      IntelliPort II EXpandable (20Mhz 80186 - modular 16 - 64 port)
  201.      (pre-ALPHA driver, contact Michael H. Warfield,
  202.      mhw@wittsend.atl.ga.us)
  203.  
  204.   o  Cyclades Cyclom 8Y (8 port), and 16Y (16 port) (Cirrus Logic
  205.      CD-1400 RISC UARTs) (contact cyclades@netcom.com)
  206.  
  207.   o  DigiBoard PC/Xe (12.5MHz 80186 processor - 2, 4, 8, or 16 port),
  208.      and PC/Xi (12.5MHz 80186 processor - 8, or 16 port) (contact Troy
  209.      De Jongh, troyd@digibd.com.  Driver location:
  210.      ftp.digibd.com:/digiline/drivers/linux)
  211.  
  212.   o  Digiboard COM/Xi (10MHz 80188 processor - 4 or 8 port)
  213.  
  214.      (pre-ALPHA driver contact Simon Park, si@wimpol.demon.co.uk)
  215.  
  216.   o  Hayes ESP8 (8 port)
  217.  
  218.      (pre-ALPHA driver, contact Dennis Boylan, dennis@lan.com)
  219.  
  220.   o  Omega COMM-8 (8 port)
  221.  
  222.      (contact Vance Petree, vpetree@infi.net)
  223.  
  224.   o  Specialix SIO - (modular, 4 - 32 port)
  225.  
  226.      (ALPHA driver, contact Simon Allen, simonallen@cix.compulink.co.uk)
  227.  
  228.   o  Stallion EasyIO-4 (4 port), EasyIO-8 (8 port), and Stallion
  229.      EasyConnection (modular, 8 - 32 port) (Cirrus Logic CD-1400 RISC
  230.      UARTs) (contact Greg Ungerer, gerg@stallion.oz.au)
  231.  
  232.  
  233.   Drivers for the Cyclades, DigiBoard, Stallion and Specialix boards can
  234.   be
  235.  
  236.   found on sunsite.unc.edu:/pub/Linux/kernel/patches/serial and mirror
  237.   sites.
  238.  
  239.  
  240.  
  241.   3.  What are the names of the serial ports?
  242.  
  243.   There are the 4 serial devices corresponding to COM1 - COM4:
  244.  
  245.  
  246.  
  247.        /dev/cua0, /dev/ttyS0 (COM1) address 0x3f8 IRQ 4
  248.        /dev/cua1, /dev/ttyS1 (COM2) address 0x2f8 IRQ 3
  249.        /dev/cua2, /dev/ttyS2 (COM3) address 0x3e8 IRQ 4
  250.        /dev/cua3, /dev/ttyS3 (COM4) address 0x2e8 IRQ 3
  251.  
  252.  
  253.  
  254.  
  255.   The /dev/ttySN devices are for incoming connections and /dev/cuaN
  256.   devices for outgoing connections.  N is the serial port number.  In
  257.   this document, I refer to COM1 as ttyS0, COM2 as ttyS1, COM3 as ttyS2,
  258.   and COM4 as ttyS3.  If I am refering to a specific device in /dev, I
  259.   will always prepend /dev to avoid confusing you.
  260.  
  261.  
  262.   On some installations, two extra devices will be created, /dev/modem
  263.   for your modem and /dev/mouse for your mouse.  Both of these are
  264.   symbolic links to the appropriate /dev/cuaN device which you specified
  265.   during the installation (unless you have a bus mouse, then /dev/mouse
  266.   will point to the bus mouse device).
  267.  
  268.  
  269.   There has been some discussion on the merits of /dev/mouse and
  270.   /dev/modem.  I strongly discourage the use of these links.  In
  271.   particular, if you are planning on using your modem for dialin you
  272.   will run into problems because the lock files will not work correctly
  273.   if you use /dev/modem. Use them if you like, but be sure they point to
  274.   the right device.
  275.  
  276.  
  277.  
  278.   3.1.  Major and minor device numbers of serial devices in /dev
  279.  
  280.  
  281.  
  282.        /dev/ttyS0 major 4, minor 64    /dev/cua0 major 5, minor 64
  283.        /dev/ttyS1 major 4, minor 65    /dev/cua1 major 5, minor 65
  284.        /dev/ttyS2 major 4, minor 66    /dev/cua2 major 5, minor 66
  285.        /dev/ttyS3 major 4, minor 67    /dev/cua3 major 5, minor 67
  286.  
  287.  
  288.  
  289.  
  290.  
  291.   Note that all distributions should come with these devices already
  292.   made correctly.
  293.  
  294.  
  295.   3.1.1.  Creating devices in /dev
  296.  
  297.   If you don't have a device, you will have to create it with the mknod
  298.   command.
  299.  
  300.   Example, suppose you needed to create devices for ttyS0:
  301.  
  302.  
  303.  
  304.        linux# mknod -m 666 /dev/cua0 c 5 64
  305.        linux# mknod -m 666 /dev/ttyS0 c 4 64
  306.  
  307.  
  308.  
  309.  
  310.   You can also get the MAKEDEV script, available on the usual FTP sites.
  311.   This simplifies the making of devices.  For example, if you needed to
  312.   make the devices for ttyS0 you would type:
  313.  
  314.  
  315.  
  316.        linux# cd /dev
  317.        linux# MAKEDEV ttyS0
  318.  
  319.  
  320.  
  321.  
  322.   This handles the devices creation for the incoming and outgoing
  323.   devices.
  324.  
  325.  
  326.   3.1.2.  Notes for multiport boards
  327.  
  328.   The devices your multiport board uses depends on what kind of board
  329.   you have.  These are listed in detail in the rc.serial which comes
  330.   with the setserial program.  You will probably need to create these
  331.   devices.  Either use the mknod command, or get the MAKEDEV script.
  332.   Devices for mulitport boards are made by adding ``64 + the port
  333.   number''.  So, if you wanted to create devices for ttyS17, you would
  334.   type:
  335.  
  336.  
  337.  
  338.        linux# mknod -m 666 /dev/cua17 c 5 81
  339.        linux# mknod -m 666 /dev/ttyS17 c 4 81
  340.  
  341.  
  342.  
  343.  
  344.  
  345.   Note that ``64 + 17 = 81''.  Using the MAKEDEV script, you would type:
  346.  
  347.  
  348.  
  349.        linux# cd /dev
  350.        linux# MAKEDEV ttyS17
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.   4.  What is getty?
  358.  
  359.   getty is a program that handles the login process when you log onto a
  360.   Unix box.  There are 3 versions that are commonly used with Linux:
  361.   agetty, getty_ps and mgetty.
  362.  
  363.  
  364.   4.1.  About getty_ps
  365.  
  366.  
  367.   This version of getty was written by Paul Sutcliffe Jr.,
  368.   paul@devon.lns.pa.us.  Kris Gleason, gleasokr@boulder.colorado.edu
  369.   currently maintains it.  2.0.7e is the latest version, and supercedes
  370.   any older versions.  Most distributions come with the getty_ps package
  371.   installed as /sbin/getty.
  372.  
  373.  
  374.   The getty_ps package contains two getties.  getty is used for console,
  375.   and terminal devices - and uugetty which is used for modems.  I use
  376.   this version of getty, so I will focus on the getty_ps package in this
  377.   HOWTO.
  378.  
  379.  
  380.   4.2.  About mgetty
  381.  
  382.   mgetty is a version of getty written by Gert Doering
  383.   gert@greenie.muc.de.  In addition to allowing logins, mgetty also
  384.   provides class 2 FAX support through sendfax, which accompanies
  385.   mgetty.  mgetty+sendfax 0.22 is the latest version of this package.
  386.   The mgetty documentation is quite good, and does not need
  387.   supplementing.  Please refer to it for installation instructions.
  388.  
  389.  
  390.   4.3.  About agetty
  391.  
  392.   agetty is the third variation of getty.  It was original written by
  393.   W.Z. Venema, wietse@wzv.win.tue.nl.  It's a simple implementation of
  394.   getty.
  395.  
  396.  
  397.   5.  What is setserial?
  398.  
  399.   setserial is a program which allows you to look at and change various
  400.   attributes of a serial device, including its port address, its
  401.   interrupt, and other serial port options.  It was initially written
  402.   Rick Sladkey, and was heavily modified by Ted T'so tytso@mit.edu, who
  403.   also maintains it.  The newest version is 2.10, and can be found on
  404.   the Linux FTP sites.  You can find out what version you have by
  405.   running setserial with no arguments.
  406.  
  407.  
  408.   When your Linux system boots, only ttyS{0-3} are configured, using the
  409.   default IRQs of 4 and 3.  So, if you have any other serial ports
  410.   provided by other boards or if ttyS{0-3} have a non-standard IRQ, you
  411.   must use this program in order to configure those serial ports.  For
  412.   the full listing of options, consult the man page.
  413.  
  414.  
  415.  
  416.   6.  How do I dial out with my modem?
  417.  
  418.   6.1.  Hardware requirements
  419.  
  420.   First, make sure you have the right cable.  Your modem requires a
  421.   straight through cable, with no pins crossed.  Any computer store
  422.   should have these.  Make sure you get the correct gender.  If you are
  423.   using the DB25 serial port, it will always be the male DB25.  Do not
  424.   confuse it with the parallel port, which is the female DB25.  Hook up
  425.   your modem to one of your serial ports.  Consult your modem manual on
  426.   how to do this if you need help.
  427.  
  428.  
  429.   6.1.1.  Notes on internal modems
  430.  
  431.   For an internal modem, you will not need a cable.  An internal modem
  432.   does not need a serial port, it has one built in.  All you need to do
  433.   is configure it to use an interrupt that is not being used, and
  434.   configure the port I/O address.  Consult your modem manual if you get
  435.   stuck.  Also, see section ``Can I use more than   2 serial devices?''
  436.   if you need help on choosing interrupts or addresses.
  437.  
  438.   Due to a bit of stupidity on IBM's part, you may encounter problems if
  439.   you want your internal modem to be on ttyS3.  If Linux does not detect
  440.   your internal modem on ttyS3, you can use setserial and the modem will
  441.   work fine.  Internal modems on ttyS{0-2} should not have any problems
  442.   being detected.
  443.  
  444.  
  445.   6.2.  Talking to your modem
  446.  
  447.   Use kermit or some other simple comm program to test the setup, before
  448.   you go jumping into complex comm programs.  (For legel reasons, kermit
  449.   is not distributed with commercial distributions.  You can find the
  450.   lastest version of kermit on sunsite.unc.edu:/pub/Linux/apps/comm and
  451.   mirror sites.)  For example, say your modem was on ttyS3, and it could
  452.   handle 38400 bps.  You would do the following:
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.   linux# kermit
  464.   C-Kermit 5A(188), 23 Nov 92, POSIX
  465.   Type ? or HELP for help
  466.   C-Kermit>set line /dev/cua3
  467.   C-Kermit>set speed 38400
  468.   /dev/cua3, 38400 bps
  469.   C-Kermit>c
  470.   Connecting to /dev/cua3, speed 38400.
  471.   The escape character is Ctrl-\ (ASCII 28, FS)
  472.   Type the escape character followed by C to get back,
  473.   or followed by ? to see other options.
  474.   AT
  475.   OK
  476.   <ctrl>-\-C
  477.   (Back at linux)
  478.   C-Kermit>quit
  479.   linux#
  480.  
  481.  
  482.  
  483.  
  484.  
  485.   If your modem responds to AT commands, you can assume your modem is
  486.   working correctly on the Linux side.  Try calling another modem.  If
  487.   you don't like kermit, try one of the more advanced comm programs.
  488.   Check out section ``Communications programs'' about comm programs if
  489.   you need some pointers.
  490.  
  491.   When you dial out with your modem, set the speed to the highest bps
  492.   rate that your modem supports.  Since there is no speed named 57600 or
  493.   115200 bps, you must use the setserial program to set your serial port
  494.   to a higher speed.  See section ``How do I set up my serial ports for
  495.   higher speeds?'' for how to do this.  Then, set the speed to 38400 bps
  496.   in your comm program.
  497.  
  498.  
  499.   6.3.  Dial out modem configuration
  500.  
  501.   For dial out use only, you can configure your modem however you want.
  502.   If you intend to use your modem for dialin, you must configure your
  503.   modem at the same speed that you intend to run getty at.  So, if you
  504.   want to run getty at 38400 bps, set your speed to 38400 bps when you
  505.   configure your modem.  This is done to prevent speed mismatches
  506.   between your computer and modem.
  507.  
  508.  
  509.   I like to see result codes, so I set Q0 - result codes are reported.
  510.   To set this on my modem, I would have to preceed the register name
  511.   with an AT command.  Using kermit or some comm program, connect to
  512.   your modem and type the following: ATQ0.  If your modem says OK back
  513.   to you, then the register is set.  Do this for each register you want
  514.   to set.
  515.  
  516.  
  517.   I also like to see what I'm typing, so I set E1 - command echo on.  If
  518.   your modem has data compression capabilities, you probably want to
  519.   enable them.  Consult your modem manual for more help, and a full
  520.   listing of options.  If your modem supports a stored profile, be sure
  521.   to write the configuration to the modem (often done with AT&W, but
  522.   varies between modem manufacturers) if not you will have to set the
  523.   registers everytime you turn on, or reset your modem.
  524.  
  525.  
  526.  
  527.  
  528.  
  529.   6.4.  Hardware flow control
  530.  
  531.   If your modem supports hardware flow control (RTS/CTS), I highly
  532.   recommend you use it.  This is particularly important for modems that
  533.   support data compression.  First, you have to enable RTS/CTS flow
  534.   control on the serial port itself.  This is best done on startup, like
  535.   in /etc/rc.d/rc.local or /etc/rc.d/rc.serial.  Make sure that these
  536.   files are being run from the main rc.M file!  You need to do the
  537.   following for each serial port you want to enable hardware flow
  538.   control on:
  539.  
  540.  
  541.        stty crtscts < /dev/cuaN
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.   You must also enable RTS/CTS flow control on your modem.  Consult your
  549.   modem manual on how to do this, as it varies between modem
  550.   manufacturers.  Be sure to save your modem configuration if your modem
  551.   supports stored profiles.
  552.  
  553.  
  554.   7.  How do I dial in and out with my modem using getty_ps?
  555.  
  556.   Get your modem to dial out correctly.  If you haven't read section
  557.   ``How do I dial out with my modem'' go read it now!  It contains very
  558.   important setup information.
  559.  
  560.  
  561.  
  562.   7.1.  Dial in and out modem configuration
  563.  
  564.   For dialin and dialout use, you have to set up your modem a certain
  565.   way (again, using AT commands on your modem):
  566.  
  567.  
  568.        E1       command echo ON
  569.        Q0       result codes are reported
  570.        V1       verbose ON
  571.        S0=0     never answer (uugetty handles this with the WAITFOR option)
  572.  
  573.  
  574.  
  575.  
  576.   If you don't set these correctly, your INIT string in your config file
  577.   may fail, hosing the whole process.  But, more on config files
  578.   below...
  579.  
  580.  
  581.  
  582.        &C1     DCD is on after connect only
  583.        &S0     DSR is always on
  584.                DTR on/off resets modem (depends on manufacturer - RTFM)
  585.  
  586.  
  587.  
  588.  
  589.   These affect what your modem does when calls start and end.
  590.  
  591.  
  592.   If your modem does not support a stored profile, you can set these
  593.   through the INIT string in your config file.  See below.  Some modems
  594.   come with DIP switches that affect register settings.  Be sure these
  595.   are set correctly, too.
  596.  
  597.  
  598.   I have started a collection of modem setups for different types of
  599.   modems.  So far, I only have a few of them, if you would like to send
  600.   me your working configuration, please do so!  If you would like me to
  601.   send you one of the configurations, just mail me and ask.  I'm not
  602.   listing them here due to space concerns.  I have setups for Supra,
  603.   Telebit T1600, USR Courier and Sportster, and Zoom 14.4/28.8 modems.
  604.  
  605.  
  606.   7.2.  Installing getty_ps
  607.  
  608.   By default, getty_ps will be configured to be Linux FSSTND (FileSystem
  609.   STaNDard) compliant, which means that the binaries will be in /sbin,
  610.   and the config files will be named /etc/conf.{uu}getty.ttySN.  This is
  611.   not apparant from the documentation!  It will also expect lock files
  612.   to go in /var/lock.  Make sure you have the /var/lock directory.
  613.  
  614.  
  615.   If you don't want FSSTND compliance, binaries will go in /etc, config
  616.   files will go in /etc/default/{uu}getty.ttySN, and lock file will go
  617.   in /usr/spool/uucp.  I recommend doing things this way if you are
  618.   using UUCP, because Taylor UUCP will have problems if you move the
  619.   lock files to where it isn't looking for them.
  620.  
  621.  
  622.  
  623.   getty_ps also uses syslogd to log messages.  See the man pages for
  624.   syslogd(1) and syslog.conf(5) for setting up syslogd, if you don't
  625.   have it running already.  Messages are logged with priority LOG_AUTH,
  626.   errors use LOG_ERR, and debugging uses LOG_DEBUG.  If you don't want
  627.   to use syslogd you can edit tune.h in the getty_ps source files to use
  628.   a log file for messages instead, namely /var/adm/getty.log by default.
  629.  
  630.  
  631.   When you have decided if you want FSSTND, and syslog, edit tune.h and
  632.   the Makefile in the getty_ps source directory to reflect you
  633.   decisions.  Now, install according to the instructions.
  634.  
  635.  
  636.   From this point on, all references to getty will refer to getty_ps.
  637.   References to uugetty will refer to the uugetty that comes with the
  638.   getty_ps package.
  639.  
  640.  
  641.   7.3.  Setting up uugetty
  642.  
  643.   For dialing into, and out from your modem, we want to use uugetty.
  644.   uugetty does important lock file checking.  Update /etc/gettydefs to
  645.   include entries for modems (note that the entries point to each other,
  646.   these are not for fixed speed):
  647.  
  648.  
  649.        # Modem entries
  650.        38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200
  651.        19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600
  652.        9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #2400
  653.        2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #1200
  654.        1200# B1200 CS8 # B1200 SANE -ISTRIP HUPCL #@S @L @B login: #300
  655.        300# B300 CS8 # B300 SANE -ISTRIP HUPCL #@S @L @B login: #38400
  656.  
  657.  
  658.  
  659.  
  660.  
  661.   If you have a 9600 bps or faster modem, with data compression, you can
  662.   lock your serial port speed and let the modem handle the transitions
  663.   to other bps rates. Then, instead of the step down series of lines
  664.   listed above, /etc/gettydefs only needs to contain one line for the
  665.   modem:
  666.  
  667.  
  668.  
  669.        # 38400 fixed speed
  670.        F38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #F38400
  671.        # 19200 fixed speed
  672.        F19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #F19200
  673.        # 9600 fixed speed
  674.        F9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #F9600
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.   If you have your modem set up to do RTS/CTS hardware flow control, you
  682.   can add CRTSCTS to the entries:
  683.  
  684.  
  685.  
  686.        # 38400 fixed speed with hardware flow control
  687.        F38400# B38400 CS8 CRTSCTS # B38400 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F38400
  688.        # 19200 fixed speed with hardware flow control
  689.        F19200# B19200 CS8 CRTSCTS # B19200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F19200
  690.        # 9600 fixed speed with hardware flow control
  691.        F9600# B9600 CS8 CRTSCTS # B9600 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F9600
  692.  
  693.  
  694.  
  695.  
  696.  
  697.   If you want, you can make uugetty print interesting things in the
  698.   login banner.  In my examples, I have the system name, the serial
  699.   line, and the current bps rate.  You can add other things:
  700.  
  701.  
  702.  
  703.               @B    The current (evaluated at the time the @B is seen) bps rate.
  704.               @D    The current date, in MM/DD/YY.
  705.               @L    The serial line to which getty is attached.
  706.               @S    The system name.
  707.               @T    The current time, in HH:MM:SS (24-hour).
  708.               @U    The number of currently signed-on users.  This is  a
  709.                     count of the number of entries in the /etc/utmp file
  710.                     that have a non-null ut_name field.
  711.               @V    The value of VERSION, as given in the defaults file.
  712.               To display a single '@' character, use either '\@' or '@@'.
  713.  
  714.  
  715.  
  716.  
  717.  
  718.   Next, make sure that you have an outgoing and incoming device for the
  719.   serial port your modem is on.  If you have your modem on ttyS3 you
  720.   will need the /dev/cua3, and /dev/ttyS3 devices.  If you don't have
  721.   the correct devices, see section ``Creating devices in <tt>/dev</tt>''
  722.   on how to create devices, and create the devices.
  723.  
  724.  
  725.  
  726.  
  727.   7.4.  Customizing uugetty
  728.  
  729.   There are lots of parameters you can tweak for each port you have.
  730.   These are implemented in seperate config files for each port.  The
  731.   file /etc/conf.uugetty will be used by all instances of uugetty, and
  732.   /etc/conf.uugetty.ttySN will only be used by that one port.  Sample
  733.   default config files can be found with the getty_ps source files,
  734.   which come with most Linux distributions.  Due to space concerns, they
  735.   are not listed here.  Note that if you are using older versions of
  736.   getty (older than 2.0.7e), or aren't using FSSTND, then the default
  737.   file will be /etc/default/uugetty.ttySN.  My /etc/conf.uugetty.ttyS3
  738.   looks like this:
  739.  
  740.  
  741.        # sample uugetty configuration file for a Hayes compatible modem to allow
  742.        # incoming modem connections
  743.        #
  744.        # alternate lock file to check... if this lock file exists, then uugetty is
  745.        # restarted so that the modem is re-initialized
  746.        ALTLOCK=cua3
  747.        ALTLINE=cua3
  748.        # line to initialize
  749.        INITLINE=cua3
  750.        # timeout to disconnect if idle...
  751.        TIMEOUT=60
  752.        # modem initialization string...
  753.        # format: <expect> <send> ... (chat sequence)
  754.        INIT="" AT\r OK\r\n
  755.        WAITFOR=RING
  756.        CONNECT="" ATA\r CONNECT\s\A
  757.        # this line sets the time to delay before sending the login banner
  758.        DELAY=1
  759.        #DEBUG=010
  760.  
  761.  
  762.  
  763.  
  764.  
  765.   Add the following line to your /etc/inittab, so that uugetty is run on
  766.   your serial port (substituting in the correct information for your
  767.   environment - port, speed, and default terminal type):
  768.  
  769.  
  770.        S3:456:respawn:/sbin/uugetty ttyS3 F38400 vt100
  771.  
  772.  
  773.  
  774.  
  775.  
  776.   Restart init:
  777.  
  778.  
  779.        linux# init q
  780.  
  781.  
  782.  
  783.  
  784.  
  785.   For the speed parameter in your inittab, you want to use the highest
  786.   bps rate that your modem supports.  Since there is no speed named
  787.   57600 or 115200, you must use the setserial program to set your serial
  788.   port to a higher speed.  See section ``How do I set up my serial ports
  789.   for higher speeds?'' for doing this.  Then, use 38400 bps in your
  790.   inittab.
  791.  
  792.  
  793.   Now Linux will be watching your serial port for connections.  Dial in
  794.   from another site and login to you Linux system.  Rejoice.
  795.  
  796.  
  797.   uugetty has a lot more options, see the man page for getty(1m) for a
  798.   full description.  Among other things there is a scheduling feature,
  799.   and a ringback feature.  RTFM :-).
  800.  
  801.  
  802.   7.5.  US Robotics Notes
  803.  
  804.   To get my USR Courier modem to reset correctly when DTR drops, I had
  805.   to set &D2 and S13=1.
  806.  
  807.  
  808.   7.6.  Supra Notes
  809.  
  810.   Supra modems treat DCD differently than other modems.  If you are
  811.   using a Supra, you must set &C0 and not &C1.  You must also set &D2 to
  812.   handle DTR correctly.
  813.  
  814.  
  815.  
  816.   8.  How do I set up a terminal connected to my PC?
  817.  
  818.   8.1.  Hardware requirements
  819.  
  820.   Make sure you have the right kind of cable.  A null modem cable bought
  821.   at a computer store will do it.  But it must be a null modem cable!
  822.   Make sure you are using your serial port, the male DB25 or the DB9,
  823.   and not your parallel port.
  824.  
  825.  
  826.  
  827.   At a minimum, you should have (for a DB25 connector):
  828.  
  829.           RxD   Receive Data          2 - 3       TxD   Transmit Data
  830.           TxD   Transmit Data         3 - 2       RxD   Receive Data
  831.           GND   Signal Ground         7 - 7       GND   Signal Ground
  832.  
  833.  
  834.  
  835.   If you want to have hardware handshaking signals, you must have a full
  836.   null modem cable:
  837.  
  838.                 Frame Ground          1 - 1             Frame Ground
  839.           RxD   Receive Data          2 - 3       TxD   Transmit Data
  840.           TxD   Transmit Data         3 - 2       RxD   Receive Data
  841.           RTS   Request To Send       4 - 5       CTS   Clear To Send
  842.           CTS   Clear To Send         5 - 4       RTS   Request To Send
  843.           DSR   Data Set Ready        6 - 20      DTR   Data Terminal Ready
  844.           GND   Signal Ground         7 - 7       GND   Signal Ground
  845.           DCD   Carrier Detect        8 - 20      DTR   Data Terminal Ready
  846.           DTR   Data Terminal Ready  20 - 6       DSR   Data Set Ready
  847.           DTR   Data Terminal Ready  20 - 8       DCD   Carrier Detect
  848.  
  849.  
  850.  
  851.   If you have a DB9 connector on your serial port, try the following:
  852.  
  853.                                     DB9   DB25
  854.           RxD   Receive Data          2 - 2       TxD   Transmit Data
  855.           TxD   Transmit Data         3 - 3       RxD   Receive Data
  856.           GND   Signal Ground         5 - 7       GND   Signal Ground
  857.  
  858.  
  859.   Alternatively, a full DB9-DB25 null modem cable:
  860.  
  861.                                     DB9   DB25
  862.           DCD   Carrier Detect        1 - 20      DTR   Data Terminal Ready
  863.           RxD   Receive Data          2 - 2       TxD   Transmit Data
  864.           TxD   Transmit Data         3 - 3       RxD   Receive Data
  865.           DTR   Data Terminal Ready   4 - 6       DSR   Data Set Ready
  866.           DTR   Data Terminal Ready   4 - 8       DCD   Carrier Detect
  867.           GND   Signal Ground         5 - 7       GND   Signal Ground
  868.           DSR   Data Set Ready        6 - 20      DTR   Data Terminal Ready
  869.           RTS   Request To Send       7 - 5       CTS   Clear To Send
  870.           CTS   Clear To Send         8 - 4       RTS   Request To Send
  871.           (RI Ring Indicator          9 not needed)
  872.  
  873.  
  874.  
  875.   If you are not using a full null modem cable, you might have to do the
  876.   following trick: on your computer side of the connector, connect RTS
  877.   and CTS together, and also connect DSR, DCD and DTR together.  This
  878.   way, when the computer wants a certain handshaking signal, it will get
  879.   it (from itself).
  880.  
  881.   Now that you have the right kind of cable, connect your terminal to
  882.   your computer.  If you can, tell you terminal to ignore modem control
  883.   signals.  Try using 9600 bps, 8 data bits, 1 stop bit, no parity bits
  884.   for the terminal's setup.
  885.  
  886.  
  887.   8.2.  Setting up getty
  888.  
  889.   Install getty_ps as described in REFERENCE.  Add an entry for getty to
  890.   use for your terminal in /etc/gettydefs:
  891.  
  892.  
  893.  
  894.        # 38400 bps Dumb Terminal entry
  895.        DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
  896.        # 19200 bps Dumb Terminal entry
  897.        DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
  898.        # 9600 bps Dumb Terminal entry
  899.        DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
  900.  
  901.  
  902.  
  903.  
  904.  
  905.   If you want, you can make getty print interesting things in the login
  906.   banner.  In my examples, I have the system name and the serial line
  907.   printed.  You can add other things:
  908.  
  909.  
  910.  
  911.        @B    The current (evaluated at the time the @B is seen) bps rate.
  912.        @D    The current date, in MM/DD/YY.
  913.        @L    The serial line to which getty is attached.
  914.        @S    The system name.
  915.        @T    The current time, in HH:MM:SS (24-hour).
  916.        @U    The number of currently signed-on users.  This is  a
  917.              count of the number of entries in the /etc/utmp file
  918.              that have a non-null ut_name field.
  919.        @V    The value of VERSION, as given in the defaults file.
  920.        To display a single '@' character, use either '\@' or '@@'.
  921.  
  922.  
  923.  
  924.  
  925.   Edit your /etc/inittab file to run getty on the serial port
  926.   (substituting in the correct information for your environment - port,
  927.   speed, and default terminal type):
  928.  
  929.  
  930.        S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
  931.  
  932.  
  933.  
  934.  
  935.  
  936.   Restart init:
  937.  
  938.  
  939.        linux# init q
  940.  
  941.  
  942.  
  943.  
  944.  
  945.   At this point, you should see a login prompt on your terminal.  You
  946.   may have to hit return to get the terminal's attention.  Rejoice.
  947.  
  948.  
  949.   8.3.  Notes on setting up a PC as a terminal
  950.  
  951.  
  952.   Many people set up other PCs as terminals connected to Linux boxen.
  953.   For example, old 8088 or 286 PCs are perfect for this purpose.  All
  954.   you need is a DOS boot disk containing a version of DOS suitable for
  955.   your terminal-PC, and a communications program for your terminal-PC to
  956.   run.  kermit works very well for this purpose.  You can find
  957.   precompiled versions of kermit for nearly every OS in existence at
  958.   watsun.cc.columbia.edu:/pub/ftp/kermit.  Other popular DOS comm
  959.   programs such as telix and procomm will work equally well.  Be sure to
  960.   input correct serial port information into your terminal-PC's
  961.   communications setup.
  962.  
  963.  
  964.   9.  Can I use more than 2 serial devices?
  965.  
  966.   You don't need to read this section, unless you want to use 3 or more
  967.   serial devices... (assuming you don't have a multiport board).
  968.  
  969.  
  970.   Providing you have another spare serial port, yes, you can.
  971.  
  972.  
  973.   The number of serial ports you can use is limited by the number of
  974.   interrupts (IRQ) and port I/O addresses we have to use.  This is not a
  975.   Linux limitation, but a limitation of the PC bus.  Each serial devices
  976.   must be assigned it's own interrupt and address.  A serial device can
  977.   be a serial port, an internal modem, or a multiport serial board.
  978.  
  979.  
  980.   Multiport serial boards are specially designed to have multiple serial
  981.   ports that share the same IRQ for all serial ports on the board.
  982.   Linux gets data from them by using a different I/O address for each
  983.   port on the card.
  984.  
  985.  
  986.   9.1.  Choosing serial device interrupts
  987.  
  988.   Your PC will normally come with ttyS0 and ttyS2 at IRQ 4, and ttyS1
  989.   and ttyS3 at IRQ 3.  To use more than 2 serial devices, you will have
  990.   to give up an interrupt to use.  A good choice is to reassign an
  991.   interrupt from your parallel port.  Your PC normally comes with IRQ 5
  992.   and IRQ 7 set up as interrupts for your parallel ports, but few people
  993.   use 2 parallel ports.  You can reassign one of the interrupts to a
  994.   serial device, and still happily use a parallel port.  You will need
  995.   the setserial program to do this.  In addition, you have to play with
  996.   the jumpers on your boards, check the docs for your board.  Set the
  997.   jumpers to the IRQ you want for each port.
  998.  
  999.  
  1000.   You will need to set things up so that there is one, and only one
  1001.   interrupt for each serial device.  Here is how I set mine up in
  1002.   /etc/rc.d/rc.local - you should do it upon startup somewhere:
  1003.  
  1004.  
  1005.  
  1006.                /etc/setserial /dev/cua0 irq 3          # my serial mouse
  1007.                /etc/setserial /dev/cua1 irq 4          # my Wyse dumb terminal
  1008.                /etc/setserial /dev/cua2 irq 5          # my Zoom modem
  1009.                /etc/setserial /dev/cua3 irq 9          # my USR modem
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.   Standard IRQ assignments:
  1016.  
  1017.  
  1018.                      IRQ  0    Timer channel 0
  1019.                      IRQ  1    Keyboard
  1020.                      IRQ  2    Cascade for controller 2
  1021.                      IRQ  3    Serial port 2
  1022.                      IRQ  4    Serial port 1
  1023.                      IRQ  5    Parallel port 2
  1024.                      IRQ  6    Floppy diskette
  1025.                      IRQ  7    Parallel port 1
  1026.                      IRQ  8    Real-time clock
  1027.                      IRQ  9    Redirected to IRQ2
  1028.                      IRQ 10    not assigned
  1029.                      IRQ 11    not assigned
  1030.                      IRQ 12    not assigned
  1031.                      IRQ 13    Math coprocessor
  1032.                      IRQ 14    Hard disk controller
  1033.                      IRQ 15    not assigned
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.   There is really no Right Thing to do when choosing interrupts.  Just
  1040.   make sure it isn't being used by the motherboard, or your other cards.
  1041.   2, 3, 4, 5, or 7  is a good choice.  ``not assigned'' means that
  1042.   currently nothing standard uses these IRQs.  Also note that IRQ 2 is
  1043.   the same as IRQ 9.  You can call it either 2 or 9, the serial driver
  1044.   is very understanding.
  1045.  
  1046.  
  1047.   If you have a serial card with a 16-bit bus connector, you can also
  1048.   use IRQ 10, 11, 12 or 15.
  1049.  
  1050.  
  1051.   Just make sure you don't use IRQ 0, 1, 6, 8, 13 or 14!  These are used
  1052.   by your mother board.  You will make her very unhappy by taking her
  1053.   IRQs.
  1054.  
  1055.  
  1056.  
  1057.   9.2.  Setting serial device addresses
  1058.  
  1059.   Next, you must set the port address.  Check the manual on your board
  1060.   for the jumper settings.  Like interrupts, there can only be one
  1061.   serial device at each address.  Your ports will usually come
  1062.   configured as follows:
  1063.  
  1064.  
  1065.                ttyS0 address 0x3f8
  1066.                ttyS1 address 0x2f8
  1067.                ttyS2 address 0x3e8
  1068.                ttyS3 address 0x2e8
  1069.  
  1070.  
  1071.  
  1072.  
  1073.   Choose which address you want each serial device to have and set the
  1074.   jumpers accordingly.  I have my modem on ttyS3, my mouse on ttyS0, and
  1075.   my terminal on ttyS2.
  1076.  
  1077.   When you reboot, Linux should see your serial ports at the address you
  1078.   set them.  The IRQ Linux sees may not correspond to the IRQ you set
  1079.   with the jumpers.  Don't worry about this.  Linux does not do any IRQ
  1080.   detection when it boots, because IRQ detection is dicy and can be
  1081.   fooled.  Use setserial to tell Linux what IRQ the port is using.
  1082.  
  1083.  
  1084.  
  1085.   10.  How do I set up my serial ports for higher        speeds?  What
  1086.   speed should I use with my modem?
  1087.  
  1088.   This section should help you figure out what speed to use when using
  1089.   your modem with a communications program, or with a getty program.
  1090.  
  1091.   o  If you have something slower than a 9600 bps (V.32) modem, set your
  1092.      speed to the highest speed your modem supports.  For example 300,
  1093.      1200, or 2400 bps.
  1094.  
  1095.   o  If you have a 9600 bps (V.32) modem, with V.42bis data compression.
  1096.      use 38400 as your speed.  V.42bis compression has a theoretical
  1097.      rate of 4:1, thus ``4 * 9600 = 38400''.
  1098.  
  1099.   o  If you have a 14400 bps (V.32bis) modem, with V.42bis data
  1100.      compression, use setserial, with the spd_hi flag to configure your
  1101.      serial port to use 57600 bps (4 * 14400 = 57600).
  1102.  
  1103.      Use the spd_vhi flag if you have a 28800 (V.FC or V.34) modem (4 *
  1104.      28800 = 115200).
  1105.  
  1106.      Then, use 38400 as the speed in your comm program, or inittab.
  1107.      This is now the high speed you have set.  There is no speed named
  1108.      57600 or 115200 (although support was added in 1.1.65 and will be
  1109.      used soon).  Make sure you have 16550A UARTs :-).
  1110.  
  1111.   Put your modifications into /etc/rc.d/rc.serial or /etc/rc.d/rc.local
  1112.   so that they are done at startup.  In my /etc/rc.d/rc.local, I set
  1113.   ttyS3 to 115200 bps by doing:
  1114.  
  1115.  
  1116.        /sbin/setserial /dev/cua3 spd_vhi
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.   11.  Communications programs and utilities
  1124.  
  1125.   Once you get everything working, you may want to check out these more
  1126.   advanced programs, all are available on the usual FTP sites, if they
  1127.   didn't come with your distribution.
  1128.  
  1129.  
  1130.   o  ecu - a communications program
  1131.  
  1132.   o  minicom - telix-like comm program
  1133.  
  1134.   o  procomm - procommish comm program with zmodem
  1135.  
  1136.   o  seyon - X based comm program
  1137.  
  1138.   o  xc - xcomm communications package
  1139.  
  1140.  
  1141.   These programs offer more features than just kermit alone, including
  1142.   telephone directories, auto-dialing and so on.
  1143.  
  1144.  
  1145.   o  Another useful program is term.  term multiplexes many connections
  1146.      over one serial line.  It is somewhat similar to SLIP, and offers
  1147.      some SLIP functionality.  These include rlogin, telnet, ftp,
  1148.      finger, rdate, xmosaic and tredir.  tredir is a special program
  1149.      which lets you redirect remote TCP/IP ports to your local machine.
  1150.      This allows for remote NNTP, and SMTP access.  The good thing about
  1151.      term is that is runs entirely in user space, meaning it requires no
  1152.      kernel support, or sysadmin support (like SLIP does).
  1153.  
  1154.   o  screen is another multi-session program.  This one behaves like the
  1155.      virtual consoles.
  1156.  
  1157.   o  callback is a program that will have your modem call you back
  1158.      immediately from where you just called.
  1159.  
  1160.   o  mgetty+fax handles FAX stuff, and provides an alternate getty
  1161.  
  1162.   o  ZyXEL is a control program for ZyXEL U-1496 modems.  It handles
  1163.      dialin, dialout, dial back security, FAXing, and voice mailbox
  1164.      functions.
  1165.  
  1166.  
  1167.   o  Other things can be found on
  1168.      sunsite.unc.edu:/pub/Linux/system/Serial and
  1169.  
  1170.      sunsite.unc.edu:/pub/Linux/apps/comm or one of the many mirrors.
  1171.      These are the directories where all the serial type things are
  1172.      kept.
  1173.  
  1174.  
  1175.  
  1176.   12.  Serial Tips
  1177.  
  1178.  
  1179.   Here are some serial tips you might find helpful...
  1180.  
  1181.  
  1182.   12.1.  kermit and zmodem
  1183.  
  1184.   To use zmodem with kermit, add the following to your .kermrc:
  1185.  
  1186.  
  1187.  
  1188.  
  1189.   define rz !rz < /dev/cua3 > /dev/cua3
  1190.   define sz !sz \%0 > /dev/cua3 < /dev/cua3
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.   Be sure to put in the correct port your modem is on.  Then, to use it,
  1197.   just type rz or sz <filename> at the kermit prompt.
  1198.  
  1199.  
  1200.   12.2.  Setting terminal types automagically
  1201.  
  1202.   To set your terminal type automagically when you log in, add the
  1203.   terminal type to the entry in /etc/inittab.  If I have a vt100
  1204.   terminal on ttyS1, I would add ``vt100'' to the getty command:
  1205.  
  1206.  
  1207.  
  1208.        S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.   You can also get tset from sunsite.unc.edu:/pub/Linux/system/Terminal-
  1215.   management or a mirror site.  See the docs that come with tset to
  1216.   learn how to use it.  tset can establish terminal characteristics when
  1217.   you log in, and doesn't depend on any defaults.
  1218.  
  1219.  
  1220.   12.3.  Color ls on serial connections
  1221.  
  1222.   If ls is screwing up your terminal emulation with the color feature,
  1223.   turn it off.  ls --color, and ls --colour all use the color feature.
  1224.   Some installations have ls set to use color by default.  Check
  1225.   /etc/profile and /etc/csh.cshrc for ls aliases.  You can also alias ls
  1226.   to ls --no-color, if you don't want to change the system defaults.
  1227.  
  1228.  
  1229.   12.4.  Printing to a printer connected to a terminal
  1230.  
  1231.   There is a program called vtprint that will do this, written by
  1232.   Garrett D'Amore garrett@sdsu.edu.
  1233.  
  1234.   It is available from ftp.sdsu.edu:/pub/vtprint, and also from
  1235.   http://www.sdsu.edu/~garrett/.  The following is from the README file
  1236.   that comes with the program:
  1237.  
  1238.  
  1239.        vtprint is a program that allows users to print from a
  1240.        remote UNIX host to a printer attached to their local termi-
  1241.        nal or emulator, which makes it great for printing files at
  1242.        home, etc. (It only does text files, though.)
  1243.  
  1244.  
  1245.  
  1246.   12.5.  Can Linux configure the serial devices automagically?
  1247.  
  1248.   Yes.  To get Linux to detect and set up the serial devices
  1249.   automatically on startup, add the line:
  1250.  
  1251.  
  1252.        /sbin/setserial /dev/cuaN auto_irq skip_test autoconfig
  1253.  
  1254.  
  1255.   to your /etc/rc.d/rc.local or /etc/rc.d/rc.serial file.  Do this for
  1256.   every serial port you want to auto configure.  Be sure to give a
  1257.   device name that really does exist on your machine.
  1258.  
  1259.  
  1260.   12.5.1.  Notes for multiport boards
  1261.  
  1262.   For board addresses, and IRQs, look at the rc.serial that comes with
  1263.   the setserial program.  It has a lot of detail on multiport boards,
  1264.   including I/O addresses and device names.
  1265.  
  1266.  
  1267.  
  1268.   13.  Linux FTP sites
  1269.  
  1270.  
  1271.  
  1272.        sunsite.unc.edu [152.2.22.81]:/pub/Linux        (NC, USA)
  1273.        tsx-11.mit.edu [18.172.1.2]:/pub/linux          (MA, USA)
  1274.        nic.funet.fi [128.214.6.100]:/pub/OS/Linux      (Finland, Europe)
  1275.  
  1276.  
  1277.  
  1278.  
  1279.   sunsite.unc.edu is the official Linux FTP site, and has many mirrors.
  1280.   Please use a mirror site if at all possible to save sunsite some
  1281.   traffic.
  1282.  
  1283.  
  1284.   sunsite mirrors (sunsite.unc.edu:/pub/Linux/MIRRORS):
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.   * CONTINENT
  1322.   - COUNTRY
  1323.      CITY...  FTP Site   Directory
  1324.   ------------------------------------------------------------------------
  1325.   * Africa
  1326.   - None so far
  1327.   * Asia
  1328.   - Thailand
  1329.      Bangkok...  ftp.nectec.or.th  /pub/mirrors/linux/
  1330.   - Hong Kong
  1331.       ...  ftp.cs.cuhk.hk  /pub/Linux/
  1332.   - Republic of Singapore
  1333.      Singapore...  ftp.nus.sg  /pub/unix/Linux/
  1334.   - Japan
  1335.      Unknown...  ftp.spin.ad.jp  /pub/linux/sunsite.unc.edu/
  1336.   * Australia
  1337.      Adelaide...  smug.student.adelaide.edu.au  /pub/sunsite.linux/
  1338.      Brisbane...  ftp.dstc.edu.au  /pub/linux/
  1339.   * Europe
  1340.   - Austria
  1341.      Graz...  ftp.tu-graz.ac.at  /pub/Linux/
  1342.   - Czech Republic
  1343.      Brno...  ftp.fi.muni.cz  /pub/UNIX/linux/
  1344.      Prague...  pub.vse.cz  /pub/386-unix/linux/
  1345.   - France
  1346.      Angers...  ftp.univ-angers.fr  /pub/linux/
  1347.      Nancy...  ftp.loria.fr  /pub/linux/sunsite/
  1348.   - Germany (Deutschland)
  1349.      Aachen...  ftp.dfv.rwth-aachen.de  /pub/linux/sunsite/
  1350.      Dortmund...  ftp.germany.eu.net  /pub/os/Linux/Mirror.SunSITE/
  1351.      Dresden...  ftp.tu-dresden.de  /pub/Linux/sunsite/
  1352.      Erlangen...  ftp.uni-erlangen.de  /pub/Linux/MIRROR.sunsite/
  1353.      Mannheim...  ftp.ba-mannheim.de  /pub/linux/mirror.sunsite/
  1354.      Paderborn...  ftp.uni-paderborn.de  /pub/Mirrors/sunsite.unc.edu/
  1355.      Rostock...  ftp.uni-rostock.de  /Linux/sunsite/
  1356.      Stuttgart...  ftp.rus.uni-stuttgart.de  /pub/unix/systems/linux/MIRROR.sunsite/
  1357.      Tuebingen...  ftp.uni-tuebingen.de  /pub/linux/Mirror.sunsite/
  1358.      Ulm...  ftp.rz.uni-ulm.de  /pub/mirrors/linux/sunsite/
  1359.      Unknown...  ftp.gwdg.de  /pub/linux/mirrors/sunsite/
  1360.   - Hungary
  1361.      Budapest...  ftp.kfki.hu  /pub/linux/
  1362.   - Italy
  1363.      Pisa...  cnuce-arch.cnr.it  /pub/Linux/
  1364.   - Switzerland
  1365.      Zurich...  ftp.switch.ch  /mirror/linux/
  1366.   - Turkey (Turkiye)
  1367.      Ankara...  ftp.metu.edu.tr  /pub/linux/sunsite/
  1368.   - United Kingdom
  1369.      Coventry...  ftp.maths.warwick.ac.uk  /mirrors/linux/sunsite.unc-mirror/
  1370.      London...  src.doc.ic.ac.uk  /packages/linux/sunsite.unc-mirror/
  1371.      Mildenhall...  ftp.dungeon.com  /pub/linux/sunsite-mirror/
  1372.   * North America
  1373.   - United States
  1374.      Atlanta, GA...  ftp.cc.gatech.edu  /pub/linux/
  1375.      Chapel Hill, NC...  sunsite.unc.edu  /pub/Linux/
  1376.      Fayetteville, AR...  ftp.engr.uark.edu  /pub/linux/sunsite/
  1377.      Flagstaff, AZ...  ftp.infomagic.com  /pub/mirrors/linux/sunsite/
  1378.      Midwest...  ftp.wit.com  /systems/unix/linux/
  1379.      Mt. Pleasant, MI...  ftp.cps.cmich.edu  /pub/linux/sunsite/
  1380.      Rochester, NY...  ftp.rge.com  /pub/linux/sunsite/
  1381.      Salt Lake City, UT...  ftp.pht.com  /mirrors/linux/sunsite/
  1382.      Urbana, IL...  mrcnext.cso.uiuc.edu  /pub/linux/
  1383.      Unknown...  ftp.linux.org  /pub/mirrors/sunsite/
  1384.      Unknown...  ftp.orst.edu  /pub/mirrors/sunsite.unc.edu/linux/
  1385.      Unknown...  ftp.iquest.com  /pub/linux/sunsite/
  1386.      Unknown...  ftp.yggdrasil.com  mirrors/sunsite/
  1387.   * South America
  1388.   - Chile
  1389.     ftp.inf.utfsm.cl              /pub/Linux
  1390.   * Unknown
  1391.   - If you know where these sites are, please mail ewt@sunsite.unc.edu.
  1392.       ...  ftp.linux.org  /pub/mirrors/sunsite/
  1393.       ...  ftp.gwdg.de  /pub/linux/mirrors/sunsite/
  1394.       ...  ftp.orst.edu  /pub/mirrors/sunsite.unc.edu/linux/
  1395.       ...  ftp.iquest.com  /pub/linux/sunsite/
  1396.       ...  ftp.spin.ad.jp  /pub/linux/sunsite.unc.edu/
  1397.       ...  ftp.yggdrasil.com  mirrors/sunsite/
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.   These FTP sites support annonymous FTP, which means login as ftp, and
  1404.   password as your email address (ie logname@yourhost.yourdomain).
  1405.  
  1406.  
  1407.  
  1408.   14.  One step further...
  1409.  
  1410.   This section is not required reading, but may give you some further
  1411.   insight into Unix, and the world of telecommunications.
  1412.  
  1413.  
  1414.   14.1.  What are lock files?
  1415.  
  1416.   Lock file are simply a file saying that a particular device is in use.
  1417.   They are kept in /usr/spool/uucp, or /var/lock.  Linux lock files are
  1418.   named LCK..name, where name is either a device name, or a UUCP site
  1419.   name.  Certain processes create these locks so that they can have
  1420.   exclusive access to devices, for instance if you dial out on your
  1421.   modem, a lock will appear telling other processes that someone is
  1422.   using the modem already.  Locks mainly contain the PID of the process
  1423.   that has locked the device.  Most programs look at the lock, and try
  1424.   to determine if that lock is still valid by checking the process table
  1425.   for the process that has locked the device.  If the lock is found to
  1426.   be valid, the program (should) exit.  If not, some programs remove the
  1427.   stale lock, and use the device, creating their own lock in the
  1428.   process.  Other programs just exit and tell you that the device is in
  1429.   use.
  1430.  
  1431.  
  1432.   14.2.  ``baud'' vs. ``bps''
  1433.  
  1434.   ``baud'' and ``bps'' are prehaps one of the most misused terms in the
  1435.   computing/telecom field.  Many people use these terms interchangeably,
  1436.   when in fact they are not!
  1437.  
  1438.  
  1439.      baud
  1440.         The baud rate is a measure of how many times per second the
  1441.         signal sent by a modem (modulator-demodulator) changes.  For
  1442.         example, a baud rate of 1200 implies one signal change every 833
  1443.         microseconds.  Common baud rates are 50, 75, 110, 300, 600,
  1444.         1200, and 2400.  Most high speed modems run at 2400 baud.
  1445.         Because of the bandwidth limitations on voice-grade phone lines,
  1446.         baud rates greater than 2400 are harder to achieve, and only
  1447.         work under very pristine phone line quality.  ``baud'' is named
  1448.         after Emile Baudot, the inventor of the asynchronous telegraph
  1449.         printer.
  1450.  
  1451.  
  1452.  
  1453.      bps
  1454.         The bps rate is a measure of how many bits per second are
  1455.         transmitted.  Common bps rates are 50, 75, 110, 300, 1200, 2400,
  1456.         9600, ... 115200.  With modems using V.42bis compression (4:1
  1457.         compression), theoretical bps rates are possible up to 115200.
  1458.         This is what most people mean when they misuse the word
  1459.         ``baud''.
  1460.  
  1461.  
  1462.   So, if high speed modems are running at 2400 baud, how can they send
  1463.   14400 bps?  The modems achive a bps > baud rate by encoding a number
  1464.   of bits per baud.  Thus, when 2 or more bits are encoded per baud, the
  1465.   bps rate exceeds the baud rate.  If your modem connects at 14400 bps,
  1466.   it's going to be sending 6 bits per baud.
  1467.  
  1468.   How did this confusion start?  Well, back when today's low speed
  1469.   modems were yesterday's high speed modems, the bps rate actually did
  1470.   equal the baud rate.  One bit would be encoded per baud.  People would
  1471.   use bps and baud interchangeably, because they were the same number.
  1472.   For example, a 300 bps modem also had a baud rate of 300.  This all
  1473.   changed when faster modems came around, and the bit rate exceeded the
  1474.   baud rate.
  1475.  
  1476.  
  1477.  
  1478.   14.3.  What are UARTs?  How do they affect performance?
  1479.  
  1480.   UARTs (Universal Asyncronous Receiver Transmitter) are chips on your
  1481.   PC serial card.  Their purpose is to convert data to bits, send the
  1482.   bits down the serial line, and then rebuild the data again on the
  1483.   other end.  UARTs deal with data in byte sized pieces, which is
  1484.   conveniently also the size of ASCII characters.
  1485.  
  1486.  
  1487.   Say you have a terminal hooked up to your PC.  When you type a
  1488.   character, the terminal gives that character to it's transmitter (also
  1489.   a UART of some sort).  The transmitter sends that byte out onto the
  1490.   serial line, one bit at a time, at a specific rate.  On the PC end,
  1491.   the receiving UART takes all the bits and rebuilds the byte and puts
  1492.   it in a buffer.
  1493.  
  1494.  
  1495.   There are two different types of UARTs.  You have probably heard of
  1496.   dumb UARTs - the 8250 and 16450, and FIFO UARTs - the 16550A.  To
  1497.   understand their differences, first let's examine what happens when a
  1498.   UART has sent or received a byte.
  1499.  
  1500.  
  1501.   The UART itself can't do anything with the data, it just sends and
  1502.   receives it.  The CPU gets an interrupt from the serial device every
  1503.   time a byte has been sent or received.  The CPU then moves the
  1504.   received byte out of the UART's buffer and into memory somewhere, or
  1505.   gives the UART another byte to send. The 8250 and 16450 UARTs only
  1506.   have a 1 byte buffer.  That means, that every time 1 byte is sent or
  1507.   received, the CPU is interrupted.  At low rates, this is OK.  But, at
  1508.   high transfer rates, the CPU gets so busy dealing with the UART, that
  1509.   is doesn't have time to tend to other tasks.  In some cases, the CPU
  1510.   does not get around to servicing the interrupt in time, and the byte
  1511.   is overwritten, because they are coming in so fast.
  1512.  
  1513.  
  1514.   That's where the 16550A UARTs are useful.  These chips come with 16
  1515.   byte FIFOs.  This means that it can receive or transmit up to 16 bytes
  1516.   before it has to interrupt the CPU.  Not only can it wait, but the CPU
  1517.   then can transfer all 16 bytes at a time.  Although the interrupt
  1518.   threshold is seldom set at 16, this is still a significant advantage
  1519.   over the other UARTs, which only have the 1 byte buffer.  The CPU
  1520.   receives less interrupts, and is free to do other things.  Data is not
  1521.   lost, and everyone is happy.  (There is also a 16550 UART, but it is
  1522.   treated as a 16450)
  1523.  
  1524.  
  1525.  
  1526.   In general, the 8250 and 16450 UARTs should be fine for speeds up to
  1527.   38400 bps.  At speeds greater than 38400 bps, you might start seeing
  1528.   data loss, and a reduction in interactive response time.  Other PC
  1529.   operating systems (definition used loosely here), like DOS aren't
  1530.   multitasking, so they might be able to cope better with 8250 or
  1531.   16450s.  That's why some people don't see data loss, until they switch
  1532.   to Linux.
  1533.  
  1534.   Non-UART, and intelligent multiport boards use DSP chips to do
  1535.   additional buffering and control, thus relieving the CPU even more.
  1536.   For example, the Cyclades Cyclom, and Stallion EasyIO boards use a
  1537.   Cirrus Logic CD-1400 RISC chip.
  1538.  
  1539.   Keep in mind that these dumb UART types are not bad, they just aren't
  1540.   good for high speeds.  You should have no problem connecting a
  1541.   terminal, or a mouse to these UARTs.  But, for a high speed modem, the
  1542.   16550A is definately a must.
  1543.  
  1544.  
  1545.   You can buy serial cards with the 16550A UARTs for a little more
  1546.   money, just ask your dealer what type of UART is on the card.  Or if
  1547.   you want to upgrade your existing card, you can simply purchase 16550A
  1548.   chips and replace your existing 16450 UARTs.  They are pin-to-pin
  1549.   compatible.  Some cards come with socketed UARTs for this purpose, if
  1550.   not you can solder.  Note, that you'll probably save yourself a lot of
  1551.   trouble by just getting a new card, if you've got the money, they are
  1552.   under US$ 50.
  1553.  
  1554.  
  1555.   14.4.  /dev/ttySN devices?  What's the real difference between the
  1556.   /dev/cuaN and
  1557.  
  1558.   The only difference is the way that the devices are opened.  The
  1559.   dialin devices /dev/ttySN are opened in blocking mode, until CD is
  1560.   asserted (ie someone connects).  So, when someone wants to use a
  1561.   /dev/cuaN device, there is no conflict with a program watching the
  1562.   /dev/ttySN device.
  1563.  
  1564.   The distinction is made to allow dialin and dialout use of the same
  1565.   serial port.
  1566.  
  1567.  
  1568.  
  1569.   15.  Troubleshooting
  1570.  
  1571.   15.1.  I keep getting ``line NNN of inittab invalid''.
  1572.  
  1573.   Make sure you are using the correct syntax for your version of init.
  1574.   The different init's that are out there use different syntax in the
  1575.   /etc/inittab file.  Make sure you are using the correct syntax for
  1576.   your version of getty.
  1577.  
  1578.  
  1579.   15.2.  When I try to dial out, it says ``/dev/cuaN: Device or resource
  1580.   busy''.
  1581.  
  1582.   This problem can arise when DCD or DTR are not set correctly.  DCD
  1583.   should only be set when there is an actual connection (ie someone is
  1584.   dialed in), not when getty is watching the port.  Check to make sure
  1585.   that your modem is configured to only set DCD when there is a
  1586.   connection.  DTR should be set whenever something is using, or
  1587.   watching the line, like getty, kermit, or some other comm program.
  1588.  
  1589.   Another common cause of ``device busy'' errors, is that you set up
  1590.   your serial port with an interrupt already taken by something else.
  1591.   As each device initializes, it asks Linux for permission to use its
  1592.   hardware interrupt.  Linux keeps track of which interrupt is assigned
  1593.   to whom, and if your interrupt is already taken, your device won't be
  1594.   able to initialize properly.  The device really doesn't have much of
  1595.   any way to tell you that this happened, except that when you try to
  1596.   use it, it will return a ``device-busy'' error.  Check the interrupts
  1597.   on all of your cards (serial, ethernet, SCSI, etc.).  Look for IRQ
  1598.   conflicts.
  1599.  
  1600.  
  1601.   15.3.  I keep getting ``Id SN respawning too fast: disabled for 5 min-
  1602.   utes''.
  1603.  
  1604.   Make sure your modem is configured correctly.  Look at registers E and
  1605.   Q.  This can occur when your modem is chatting with getty.
  1606.  
  1607.   Make sure you are calling getty correctly from your /etc/inittab.
  1608.   Using the wrong syntax or device names will cause serious problems.
  1609.  
  1610.   This can also happen when the uugetty initialization is failing.  Go
  1611.   to the ``getty or uugetty still doesn't work'' question.
  1612.  
  1613.  
  1614.   15.4.  Serial devices are slow or serial devices can only send in one
  1615.   direction.
  1616.  
  1617.   You probably have an IRQ conflict.  Make sure there are no IRQs being
  1618.   shared.  Check all your cards (serial, ethernet, SCSI, etc...).  Make
  1619.   sure the jumper settings, and the setserial parameters are correct for
  1620.   all your serial devices.
  1621.  
  1622.  
  1623.   15.5.  respawn.  My modem is hosed after someone hangs up, or uugetty
  1624.   doesn't
  1625.  
  1626.   This can happen when your modem doesn't reset when DTR is dropped.  I
  1627.   saw my RD and SD LEDs go nuts when this happened to me.  You need to
  1628.   have your modem reset.  Most Hayes compatible modems do this with &D3,
  1629.   but on my USR Courier, I had to set &D2 and S13=1.  Check your modem
  1630.   manual.
  1631.  
  1632.  
  1633.   15.6.  it just locks up.  I have my terminal connected to my PC, but
  1634.   after I type in a login name,
  1635.  
  1636.   You probably don't have CLOCAL in your /etc/gettydefs entry for the
  1637.   terminal, and you're probably not using a full null modem cable.  You
  1638.   need CLOCAL,  which tells Linux to ignore modem control signals.  Here
  1639.   is what it should look like:
  1640.  
  1641.  
  1642.        # 38400 bps Dumb Terminal entry
  1643.        DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
  1644.        # 19200 bps Dumb Terminal entry
  1645.        DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
  1646.        # 9600 bps Dumb Terminal entry
  1647.        DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
  1648.  
  1649.  
  1650.  
  1651.   Next, kill the getty process so a new one will be spawned with the new
  1652.   entry.
  1653.  
  1654.  
  1655.   15.7.  At high speeds, my modem loses data.
  1656.  
  1657.   If you are trying to run your modem at > 19200 bps, and you don't have
  1658.   16550A UARTs, you should upgrade them.  See section ``What are
  1659.   UARTs?'' about UARTs.
  1660.  
  1661.  
  1662.   15.8.  them configured.  On startup, Linux doesn't report the serial
  1663.   devices the way I have
  1664.  
  1665.   This is true.  Linux does not do any IRQ detection on startup, it only
  1666.   does serial device detection.  Thus, disregard what it says about the
  1667.   IRQ, because it's just assuming the standard IRQs.  This is done,
  1668.   because IRQ detection is unreliable, and can be fooled.
  1669.  
  1670.  
  1671.   So, even though I have my ttyS2 set at IRQ 5, I still see
  1672.  
  1673.  
  1674.        Jan 23 22:25:28 misfits vmunix: tty02 at 0x03e8 (irq = 4) is a 16550A
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.   You have to use setserial to tell Linux the IRQ you are using.
  1681.  
  1682.  
  1683.   15.9.  rz and/or sz don't work when I call my Linux box on my modem.
  1684.  
  1685.   If Linux looks for /dev/modem when you try to transfer files, look at
  1686.   /etc/profile, and /etc/csh.cshrc.  There are a bunch of aliases
  1687.   defined there on some distributions, most notably Slackware.  These
  1688.   aliases mess up the zmodem programs.  Take them out, or correct them.
  1689.  
  1690.  
  1691.   15.10.  My screen is printing funny looking characters.
  1692.  
  1693.   This happens on virtual consoles when you send binary data to your
  1694.   screen, or sometimes on serial connections.  The way to fix this is to
  1695.   type echo ^v^[c.  For the control-character-impaired, thats echo
  1696.   <ctrl>v<esc>c.
  1697.  
  1698.  
  1699.   15.11.  getty or uugetty still doesn't work.
  1700.  
  1701.   There is a DEBUG option that comes with getty_ps.  Edit your config
  1702.   file /etc/conf.{uu}getty.ttySN and add DEBUG=NNN.  Where NNN is one of
  1703.   the following combination of numbers according to what you are trying
  1704.   to debug:
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.   D_OPT   001            option settings
  1718.   D_DEF   002            defaults file processing
  1719.   D_UTMP  004            utmp/wtmp processing
  1720.   D_INIT  010            line initialization (INIT)
  1721.   D_GTAB  020            gettytab file processing
  1722.   D_RUN   040            other runtime diagnostics
  1723.   D_RB    100            ringback debugging
  1724.   D_LOCK  200            uugetty lockfile processing
  1725.   D_SCH   400            schedule processing
  1726.   D_ALL   777            everything
  1727.  
  1728.  
  1729.  
  1730.  
  1731.   Setting DEBUG=010 is a good place to start.
  1732.  
  1733.  
  1734.   If you are running syslogd, debugging info will appear in your log
  1735.   files.  If you aren't running syslogd info will appear in
  1736.   /tmp/getty:ttySN for debugging getty and /tmp/uugetty:ttySN for
  1737.   uugetty, and in /var/adm/getty.log.  Look at the debugging info and
  1738.   see what is going on.  Most likely, you will need to tune some of the
  1739.   parameters in your config file, and reconfigure your modem.
  1740.  
  1741.  
  1742.   You could also try mgetty.  Some people have better luck with it.
  1743.  
  1744.  
  1745.  
  1746.  
  1747.   16.  Contributions
  1748.  
  1749.  
  1750.   There was no possible way to write this HOWTO alone.  Although a lot
  1751.   of the HOWTO is my writing, I have rewritten many contributions to
  1752.   maintain continuity in the writing style and flow.  Thanks to everyone
  1753.   who has contributed or commented, the list of people has gotten too
  1754.   long to list (somewhere over fifty).  Special thanks to Ted T'so for
  1755.   answering questions about the serial drivers, Kris Gleason who
  1756.   maintains getty_ps, and Gert Doering who maintains mgetty.
  1757.  
  1758.   END OF Serial-HOWTO
  1759.